package com.example.figurehecheng.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.List;

@Data
@ApiModel(value="景点修改DTO", description="修改景点请求参数")
public class SceneryUpdateDTO {

    @NotNull(message = "景点ID不能为空")
    @ApiModelProperty(value = "景点ID")
    private Long id;

    @NotBlank(message = "景点名称不能为空")
    @ApiModelProperty(value = "景点名称")
    private String name;

    @NotBlank(message = "景点特色描述不能为空")
    @ApiModelProperty(value = "景点特色描述")
    private String feature;

    @ApiModelProperty(value = "历史背景")
    private String historyBackground;

    @NotNull(message = "价格不能为空")
    @ApiModelProperty(value = "价格(分)")
    private Integer price;

    @ApiModelProperty(value = "折扣价(分)")
    private Integer discount;

    @NotBlank(message = "地址不能为空")
    @ApiModelProperty(value = "地址")
    private String address;

    @NotNull(message = "开放时间不能为空")
    @ApiModelProperty(value = "开放时间")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime openTime;

    @NotNull(message = "结束时间不能为空")
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime endTime;

    @NotNull(message = "景点类型不能为空")
    @ApiModelProperty(value = "景点类型(1:文化景点 2:自然景点)")
    private Integer tourType;

    @NotNull(message = "票数不能为空")
    @ApiModelProperty(value = "剩余票数")
    private Integer number;

    @NotNull(message = "纬度不能为空")
    @ApiModelProperty(value = "纬度")
    private BigDecimal latitude;

    @NotNull(message = "经度不能为空")
    @ApiModelProperty(value = "经度")
    private BigDecimal longitude;

    @ApiModelProperty(value = "图片URL列表")
    private List<String> images;
}